In traditional small computer system design the ability to display graphical images is provided by an adapter or interface card that is connected to the system's central processing unit (CPU) through an I/O bus. The bus serves as the conduit for data into and out of the CPU. Due to limitations in the operational properties of the CPU, the CPU can only directly drive a small number of devices at the same speed as the CPU. Since most I/O operations are substantially slower than the CPU's speed, the I/O bus is generally designed to operate at a lower speed than the CPU. The design speed is further slower than the operational speed for system random access memory (RAM). In today's high-speed machine, CPU speeds of 50 MHz are not uncommon. The video busses, however, typically run at 8 or 16 MHz, substantially slower than that of a fast CPU.
This design limitation is generally not a problem for most devices. However, with the advent of widespread use of graphical user interfaces, such as OS/2 from IBM and Windows from Microsoft, the amount of processing and time expended by the average computer system in creating graphical images has increased dramatically. A number of systems have been developed for increasing the efficiency of this process.
The prevailing methods include co-processing--a method for allowing the CPU to off-load the graphic to a separate processor which is given high-level commands by the system processor and which is then employed to do the bulk processing of the image; and direct memory access (DMA)--a method for allowing the CPU to copy data to the video RAM in a manner that does not require direct CPU supervision. Most recently, the Video Electronics Standards Association (VESA) has introduced a standard high speed I/O bus design (the VL bus) which allows a small number of devices to be directly driven by the CPU at CPU speeds. Video display devices may be driven by the bus.
The drawbacks of all these systems are two-fold: First, the implementation is entirely in hardware, which is costly. Second, these approaches frequently produce less of a real-life performance increase than may be anticipated. The co-processor approach, for instance, increases the speed of creating ordered images, such as lines, arcs and squares, but does nothing for bit-mapped images such as icons and scanned images, which our studies show produce the majority of the graphical overhead in computer systems.
The VL bus approach, although effective for most operations, increases the drain on the CPU, thus increasing the operating temperature of the system and reducing its reliability. The VL bus approach also frequently introduces CPU wait states, which reduce overall system performance. A further, and most significant drawback, of the VL bus is that it requires a completely new system and is thus incompatible with some 96 million PCs in use at the present time.